Are defined using python reflection rather than traditional sequential programming 是使用python反射定義的,而不是使用傳統(tǒng)的順序編程定義的。
The parallel program was proved to be correct in that the parallel computing results were well in agreement with the results obtained using the sequential program 并行計(jì)算結(jié)果與單機(jī)計(jì)算結(jié)果完全吻合,表明采用本文的并行程序進(jìn)行流場計(jì)算是有效的。
Also , programming for such systems is easier since all the data is available to all processors and is not much different from sequential programming 而且對于這種系統(tǒng)進(jìn)行編程要簡單很多,因?yàn)樗械臄?shù)據(jù)對于所有的處理器來說都是可以使用的,這與串行程序并沒有太多區(qū)別。
Decades ago , race conditions were less of a problem . then , a computer system would often run one simple sequential program at a time , and nothing could interrupt it or vie with it 幾十年前,競爭條件還不是什么問題;那時,計(jì)算機(jī)系統(tǒng)通常在同一時刻只能運(yùn)行一個單獨(dú)的程序,什么都不能打斷它或者與它競爭。
We can also find unexecutable paths of the sequential program . when we find them we will stop the analysis . we enhance the capability of the traditional methods of detecting data dependence 我們采用了遍歷程序路徑和對路徑進(jìn)行符號執(zhí)行的策略,這樣可以盡可能早的發(fā)現(xiàn)程序中的不可執(zhí)行路徑,從而提高分析的效率。
To solve the problem , automatic parallelization of sequential programs has been studied since 1980s , which has been made great progress in these years . but application results are still disappointing . there is still no widely accepted and authorized automatic parallelizer 為了解決這一困難, 80年代以來,人們對串行程序的自動并行技術(shù)展開了研究,十多年來取得了長足的進(jìn)步,但實(shí)際應(yīng)用效果還不理想。
In static analysis , we generate the control flow graph of the sequential program and convert the graph to an extended finite state machine ( efsm ) . by analyzing the paths of the efsm , we can find whether there is data dependence in the program or not 數(shù)據(jù)相關(guān)性的靜態(tài)測試中,我們首先生成程序的流程圖,在遍歷流程圖的同時生成這個程序的擴(kuò)展有限狀態(tài)機(jī)( efsm ) ,然后調(diào)用路徑分析工具對efsm的路徑進(jìn)行分析。
The speculative multithreading architecture ( sma ) employs a de - centralized organization to construct multiple small windows and many narrow - issue execution units to exploit massive ilp . sequential programs are partitioned into code fragments called threads , which are speculatively executed in parallel 前瞻多線程結(jié)構(gòu)( sma )結(jié)合了前瞻性執(zhí)行機(jī)制和多線程執(zhí)行機(jī)制,以整個線程為步長進(jìn)行前瞻性執(zhí)行,多個線程并行執(zhí)行,并且共享處理器硬件資源。
Npupar can guarantee the correctness of iteratively field computing problems . but due to the existence of mass complex structure in sequential program and the diversity of the programming style , conservative analysis is generally adopted in npupar , which leads to low parallel efficiency 它對于迭代求解的場計(jì)算問題能夠保證正確性,但由于串行程序中大量復(fù)雜結(jié)構(gòu)的存在,以及程序員書寫程序的不規(guī)范性,該系統(tǒng)多采用保守的分析方法,結(jié)果生成大量的冗余通信,導(dǎo)致并行效率低下。
In this thesis , we will review some traditional methods of detecting data dependence and analyze the relation between the data dependence and the mechanism of parallelism . based on path analysis and symbolic execution , we describe two methods , static analysis and dynamic analysis , for detecting data dependence of array variables in loops of sequential programs 進(jìn)而提出了基于路徑分析和符號執(zhí)行的靜態(tài)測試和動態(tài)測試方法,來研究串行程序中循環(huán)內(nèi)部數(shù)組變量的數(shù)據(jù)相關(guān)性,該方法對于下標(biāo)表達(dá)式為線性表達(dá)式時有很好的效果,而且能夠處理一些復(fù)雜的數(shù)組下標(biāo)表達(dá)式,比如數(shù)組下標(biāo)表達(dá)式含有輸入變量和非線性下標(biāo)表達(dá)式的情況。